home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Internet Tools 1995 April / Internet Tools.iso / infoserv / www / cern / doc / www-talk.archive.Z / www-talk.archive / text0321.txt < prev    next >
Encoding:
Text File  |  1992-11-30  |  5.7 KB  |  161 lines

  1.  
  2. >Here's the form for registering 'text/html' partly filled in, from RFC
  3. >1341.
  4.  
  5. I strongly suggest we bring the definition of HTML into conformance
  6. with the SGML standard before we register it with the IANA.
  7.  
  8. >Published specification:
  9. >    "The HTTP Protocol as Implemented in W3", avaiable for
  10. >    anonymous ftp from ftp://info.cern.ch/pub/doc/www/http.txt.  
  11. >    Describes the HTTP interactive access protocol and the tags used
  12. >    in HTML documents.
  13.  
  14. This is the HTTP document, not the HTML document:
  15.  
  16.      This document defines the Hypertext Transfer protocol (HTTP) as
  17.      currently implemented by the WorldWideWeb initaitive software.
  18.  
  19. The HTML document is: http://info.cern.ch/hypertext/WWW/MarkUp/MarkUp.html
  20. an old version of which is contained in http.txt.
  21.  
  22. In any case, both documents mention some relationship between HTML and
  23. SGML which is not formally defined:
  24.  
  25.    The hypertext mark-up language is an SGML format. This defines the
  26.    basic syntax used. The particular language, the set of tags and the
  27.    rules about their use, and their significance is not part of the
  28.    SGML standard. There being no standard on this, we have adopted a
  29.    set which seems sensible. We call them HTML -- hypertext markup
  30.    language. HTML is not an alternative to SGML, it is a particular
  31.    format within the SGML rules (an SGML "DTD").
  32.  
  33. The standard is very clear on this kind of thing. [I just got myself a
  34. copy, so I can quote it:]
  35.  
  36.     4.103 (document) type declaration: A markup declaration that
  37.     contains the formal specification of a document type
  38.     definition.
  39.  
  40.     4.104 document type delcaration subset: The element, entity,
  41.     and short reference sets occuring within the declaration
  42.     subset of a document type declaration.
  43.  
  44.     4.105 document (type) definition: Rules, determined by an
  45.     application, that apply SGML to the markup of documents of a
  46.     particular type. A document type definition includes a formal
  47.     specification, expressed in a document type declaration, of
  48.     the element types, element relationships, and attributes, and
  49.     references that can be represented by markup. It thereby
  50.     defines the vocabulary of the markup for which SGML defines
  51.     the syntax.
  52.  
  53. So it seems that the HTML DTD is missing the "formal specification."
  54. I have written a document type declaration subset that matches HTML as
  55. currently defined and implemented, with a few exceptions (most
  56. importantly, the PLAINTEXT tag). See
  57. http://info.cern.ch/hypertext/WWW/MarkUp/HTML.dtd
  58.  
  59. Most existing HTML documents need only small modifications to bring
  60. them into conformance (quote attribute values, add the <!DOCTYPE ...>
  61. prologue). And the existing WWW browser parses conforming documents
  62. just fine.
  63.  
  64.      Currently HTML documents are transmitted without the normal SGML framing
  65.      tags, but if these are included parsers will ignore them.
  66.  
  67. I don't know what "the normal SGML framing tags" are. An SGML document
  68. has three parts: the SGML declaration, the prologue, and the instance.
  69. It is common in SGML applications to use an implied SGML declaration
  70. and include the prologue by reference (kinda like an #include
  71. directive in C.) but without these "framing tags," it's just not an
  72. SGML document.
  73.  
  74. Besides, it's very little work to add the line:
  75.  
  76. <!DOCTYPE HTML SYSTEM>
  77.  
  78. at the beginning of HTML documents.
  79.  
  80. More non-conforming stuff in Markup.html:
  81.  
  82. Plaintext
  83.  
  84.    This tag indicates that all following text is to be taken litterally, up to
  85.    the end of the file.  Plain text is designed to be represented in the same
  86.    way as example XMP text, with fixed width character and significant line
  87.    breaks. Format:
  88.    
  89.  
  90.                 <PLAINTEXT>
  91.  
  92.    This tag allows the rest of a file to be read efficiently without parsing.
  93.    Its presence is an optimisation. There is no closing tag.
  94.  
  95. This should be moved outside the definition of HTML. It should just be
  96. part of the HTTP protocol: if the server starts the response with
  97. <PLAINTEXT>, what you're getting is plain text, not SGML.
  98.  
  99. Another problem:
  100.  
  101. Example sections
  102.  
  103.        The text may contain any ISO Latin printable characters, including the
  104.           tag opener, so long as it does not contain the closing tag in full.
  105.  
  106. This doesn't fit in SGML. The ETAGO delimiter ("</") ends a CDATA
  107. section.
  108.  
  109. A clarification:
  110.  
  111. Paragraph
  112.  
  113.    This tag indicates a new paragraph. The exact representation of this
  114.    (indentation,  leading, etc) is not defined here, and may be a function of
  115.    other tags, style sheets etc. The format is simply
  116.    
  117.  
  118.         <P>
  119.  
  120.    (In SGML terms, paragraph elements are transmitted in minimised form).
  121.  
  122. The implementation suggests that the <P> tag marks an empty element, a
  123. paragraph separator, rather than allowing minimization in the form of
  124. an omitted end tag, </P>.
  125.  
  126.  
  127.  
  128. We could even go so far as to call WWW an SGML application:
  129.  
  130.      4.279 SGML Application: Rules that apply SGML to a text
  131.      processing application. An SGML application includes a formal
  132.      specification of the markup constructs used in the
  133.      application, expressed in SGML. It can also include a
  134.      non-SGML definition of semantics, application conventions,
  135.      and/or processing.
  136.  
  137.      Note 2 The formal specification of an SGML application
  138.      constitutes the common portions of the documents processed by
  139.      th application. These common protions are frequently made
  140.      available as public text.
  141.  
  142. In other words, ftp://info.cern.ch/pub/doc/the_www_book.txt would
  143. serve as the "non-SGML definition." [by the way: I could only find
  144. postscript and LaTeX versions of the book: no txt file.] The "common
  145. portion" is html.dtd (we could obtain a public text identifier for
  146. it...).
  147.  
  148. If we want to do this (define an SGML application) section 15.5
  149. requires this statement to be plastered all over the place:
  150.  
  151.      An SGML Application Conforming to International Standard
  152.      ISO 8879 -- Standard Generalized Markup Language
  153.  
  154. If we're gonna use SGML, why not do it right?
  155.  
  156. Dan
  157.  
  158.  
  159.  
  160.  
  161.